From: Jasper St. Pierre Date: Mon, 7 Oct 2013 20:11:18 +0000 (-0400) Subject: notificationDaemon: Focus the new window before destroying the notification X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3271 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=55edfd2e4a4682cad0295b33496b71f2f53549a6;p=gnome-shell.git notificationDaemon: Focus the new window before destroying the notification Destroying the notification will make the key focus be reset to NULL, which means that gnome-shell will try to focus the MRU window, thinking the user is done interacting and wants to go back to whatever they were doing. Unfortunately, since we focus two windows at the same time, they will have the same timestamp, meaning that the window that actually gets focused will be a race as to whoever responds to their WM_TAKE_FOCUS event last. If we explicitly set the focus beforehand, then gnome-shell will believe it got key focus taken away from it, and won't try to focus the MRU when the key focus drops to NULL. https://bugzilla.gnome.org/show_bug.cgi?id=703265 --- diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index de4271131..63f03af11 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -779,8 +779,8 @@ const Source = new Lang.Class({ }, open: function(notification) { - this.destroyNonResidentNotifications(); this.openApp(); + this.destroyNonResidentNotifications(); }, _lastNotificationRemoved: function() {